
/**
 * ARGS: 传入的命令行参数
 */
export interface FlexCiFeatureDefinition<OPTIONS=Record<string,any>>{
    title: string;
    options?:OPTIONS,            // 初始化参数，命令行参数优先
    install:(options:OPTIONS,selectedFeatures:SelectedFeatures<OPTIONS>)=>Promise<void>;
    [key: string]:any
}


export type SelectedFeatures<T> =  Record<string,FlexCiFeatureDefinition<T>>